class Solution {
public:
    /**
     * 最大数
     * @param nums int整型vector 
     * @return string字符串
     */
    static bool com(string a,string b)
    {
        return a+b>b+a;
    }
    string solve(vector<int>& nums) {
        // write code here
        string str="";
        vector<string>vec;
        //将整型数组变成字符串数组
        for(int i=0;i<nums.size();i++)
        {
            vec.push_back(to_string(nums[i]));
        }
        /*排序规则：每次将相邻两个字符串正反拼接，然后比大小，
        从而确定相邻两个字符串是否交换位置*/
        sort(vec.begin(), vec.end(),com);
        if(vec[0]=="0")
            return "0";
        //开始从头到尾拼接
        for(auto x:vec)
            str+=x;
        return str;
    }
};